Set the label widget's state to prelight if we're prelit. Fixes bug
authorMark McLoughlin <mark@skynet.ie>
Wed, 3 Mar 2004 17:08:54 +0000 (17:08 +0000)
committerMark McLoughlin <markmc@src.gnome.org>
Wed, 3 Mar 2004 17:08:54 +0000 (17:08 +0000)
2004-03-03  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtkexpander.c:
        (gtk_expander_enter_notify), (gtk_expander_leave_notify),
        (gtk_expander_set_label_widget): Set the label widget's
        state to prelight if we're prelit. Fixes bug #136078.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkexpander.c

index a392411919247269e2bdf62f9ef4d53d3efdad1e..c29e19893e60785e4ec54973b2f60b48a2f40f9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-03-03  Mark McLoughlin  <mark@skynet.ie>
+
+       * gtk/gtkexpander.c:
+       (gtk_expander_enter_notify), (gtk_expander_leave_notify),
+       (gtk_expander_set_label_widget): Set the label widget's
+       state to prelight if we're prelit. Fixes bug #136078.
+
 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
 
        * gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
index a392411919247269e2bdf62f9ef4d53d3efdad1e..c29e19893e60785e4ec54973b2f60b48a2f40f9f 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-03  Mark McLoughlin  <mark@skynet.ie>
+
+       * gtk/gtkexpander.c:
+       (gtk_expander_enter_notify), (gtk_expander_leave_notify),
+       (gtk_expander_set_label_widget): Set the label widget's
+       state to prelight if we're prelit. Fixes bug #136078.
+
 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
 
        * gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
index a392411919247269e2bdf62f9ef4d53d3efdad1e..c29e19893e60785e4ec54973b2f60b48a2f40f9f 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-03  Mark McLoughlin  <mark@skynet.ie>
+
+       * gtk/gtkexpander.c:
+       (gtk_expander_enter_notify), (gtk_expander_leave_notify),
+       (gtk_expander_set_label_widget): Set the label widget's
+       state to prelight if we're prelit. Fixes bug #136078.
+
 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
 
        * gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
index a392411919247269e2bdf62f9ef4d53d3efdad1e..c29e19893e60785e4ec54973b2f60b48a2f40f9f 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-03  Mark McLoughlin  <mark@skynet.ie>
+
+       * gtk/gtkexpander.c:
+       (gtk_expander_enter_notify), (gtk_expander_leave_notify),
+       (gtk_expander_set_label_widget): Set the label widget's
+       state to prelight if we're prelit. Fixes bug #136078.
+
 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
 
        * gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
index a392411919247269e2bdf62f9ef4d53d3efdad1e..c29e19893e60785e4ec54973b2f60b48a2f40f9f 100644 (file)
@@ -1,3 +1,10 @@
+2004-03-03  Mark McLoughlin  <mark@skynet.ie>
+
+       * gtk/gtkexpander.c:
+       (gtk_expander_enter_notify), (gtk_expander_leave_notify),
+       (gtk_expander_set_label_widget): Set the label widget's
+       state to prelight if we're prelit. Fixes bug #136078.
+
 2004-03-03  Murray Cumming  <murrayc@murrayc.com>
 
        * gtk/gtkradiobutton.h, radiomenuitem.h: Corrected the group_changed
index 780f30504f1715467e11c854115de6f1fb5883c8..4dfa1ba86efd2f62134a6543b6d66edf4f985860 100644 (file)
@@ -930,6 +930,10 @@ gtk_expander_enter_notify (GtkWidget        *widget,
       event->detail != GDK_NOTIFY_INFERIOR)
     {
       expander->priv->prelight = TRUE;
+
+      if (expander->priv->label_widget)
+       gtk_widget_set_state (expander->priv->label_widget, GTK_STATE_PRELIGHT);
+
       gtk_expander_redraw_expander (expander);
     }
 
@@ -949,6 +953,10 @@ gtk_expander_leave_notify (GtkWidget        *widget,
       event->detail != GDK_NOTIFY_INFERIOR)
     {
       expander->priv->prelight = FALSE;
+
+      if (expander->priv->label_widget)
+       gtk_widget_set_state (expander->priv->label_widget, GTK_STATE_NORMAL);
+
       gtk_expander_redraw_expander (expander);
     }
 
@@ -1579,14 +1587,21 @@ gtk_expander_set_label_widget (GtkExpander *expander,
     return;
 
   if (priv->label_widget)
-    gtk_widget_unparent (priv->label_widget);
+    {
+      gtk_widget_set_state (priv->label_widget, GTK_STATE_NORMAL);
+      gtk_widget_unparent (priv->label_widget);
+    }
 
   priv->label_widget = label_widget;
 
   if (label_widget)
     {
       priv->label_widget = label_widget;
+
       gtk_widget_set_parent (label_widget, GTK_WIDGET (expander));
+
+      if (priv->prelight)
+       gtk_widget_set_state (label_widget, GTK_STATE_PRELIGHT);
     }
 
   if (GTK_WIDGET_VISIBLE (expander))